package com.guomei.service;

import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.Date;

/**
 * 阿里云OSS服务接口
 */
public interface AliyunOssService {
    /**
     * 上传文件到OSS
     * @param file 上传的文件
     * @return 上传后的文件URL
     */
    String uploadFile(MultipartFile file);

    /**
     * 通过输入流上传文件
     * @param inputStream 文件输入流
     * @param fileName 文件名
     * @return 上传后的文件URL
     */
    String uploadFile(InputStream inputStream, String fileName);

    /**
     * 删除OSS上的文件
     * @param fileUrl 文件URL
     * @return 是否删除成功
     */
    boolean deleteFile(String fileUrl);

    /**
     * 获取文件的临时访问URL
     * @param fileUrl 文件URL
     * @param expiration 过期时间
     * @return 临时访问URL
     */
    String getTempAccessUrl(String fileUrl, Date expiration);
}
